/**
 * option:
 *      url: 请求地址
 *      method: 请求方法  GET POST
 *      data: 请求参数   {key:value,key:value}
 *      headers: 请求头  {'Content-Type':'application/json;charset=utf-8'}
 *      success: 成功处理函数
*/
function ajax(option) {
    // 1-创建XMLHttpRequest对象
    var xhr = new XMLHttpRequest()
    // 设置默认请求方式为get请求方式
    option.method = option.method || 'GET'
    // 设置默认请求头Content-Type
    option.headers = option.headers || { 'Content-Type': 'application/json;charset=utf-8' }
    if (option.method === 'GET') {
        var query = ''
        for (let key in option.data) {
            query += `${key}=${option.data[key]}&`
        }
        query = query.slice(0, query.length - 1)
        // key=value&key=value
        option.url += `?${query}`
    } else if (option.method === 'POST') {
        // 将js对象转换为json字符串
        option.data = JSON.stringify(option.data)
    }
    // 2-设置请求方法和请求地址
    xhr.open(option.method, option.url)
    // 设置请求头
    for (let key in option.headers) {
        xhr.setRequestHeader(key, option.headers[key])
    }
    // 3-发送请求
    xhr.send(option.data)
    // 4-监听服务器的响应状态
    xhr.onreadystatechange = function () {
        if (xhr.status === 200 && xhr.readyState == 4) {
            var result = JSON.parse(xhr.responseText)
            // 调用成功处理函数
            option.success && option.success(result)
        }
    }

}